﻿using System;

namespace HalconDotNet
{
	// Token: 0x02000093 RID: 147
	internal class HTupleElementsString : HTupleElementsImplementation
	{
		// Token: 0x06001F04 RID: 7940 RVA: 0x000B8273 File Offset: 0x000B6473
		internal HTupleElementsString(HTupleString source, int index) : base(source, index)
		{
		}

		// Token: 0x06001F05 RID: 7941 RVA: 0x000B827D File Offset: 0x000B647D
		internal HTupleElementsString(HTupleString source, int[] indices) : base(source, indices)
		{
		}

		// Token: 0x06001F06 RID: 7942 RVA: 0x000B8764 File Offset: 0x000B6964
		public override string[] getS()
		{
			if (this.indices == null)
			{
				return null;
			}
			string[] array = new string[this.indices.Length];
			for (int i = 0; i < this.indices.Length; i++)
			{
				array[i] = this.source.SArr[this.indices[i]];
			}
			return array;
		}

		// Token: 0x06001F07 RID: 7943 RVA: 0x000B87B4 File Offset: 0x000B69B4
		public override void setS(string[] s)
		{
			if (!base.IsValidArrayForSetX(s))
			{
				return;
			}
			bool flag = s.Length == 1;
			for (int i = 0; i < this.indices.Length; i++)
			{
				this.source.SArr[this.indices[i]] = s[flag ? 0 : i];
			}
		}

		// Token: 0x06001F08 RID: 7944 RVA: 0x000B8804 File Offset: 0x000B6A04
		public override object[] getO()
		{
			if (this.indices == null)
			{
				return null;
			}
			object[] array = new object[this.indices.Length];
			for (int i = 0; i < this.indices.Length; i++)
			{
				array[i] = this.source.SArr[this.indices[i]];
			}
			return array;
		}

		// Token: 0x06001F09 RID: 7945 RVA: 0x000B8854 File Offset: 0x000B6A54
		public override HTupleType getType()
		{
			return HTupleType.STRING;
		}
	}
}
